package com.power.sifa.approve.api;

import com.plf.common.domain.ResponseDTO;
import com.power.sifa.approve.model.Apl_decistiontype;
import com.power.sifa.approve.model.pageInfo.Apl_decistiontypePageInfo;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 *  决定类型 Feign
 */
public interface IApl_decistiontypeFeign {

    /**
     * 决定类型分页列表
     */
    @PostMapping("/apl_decistiontype/list")
    ResponseDTO list(@RequestBody Apl_decistiontypePageInfo apl_decistiontypePageInfo);

    /**
    * 查看决定类型
    */
    @GetMapping("/apl_decistiontype/view")
    ResponseDTO view(@RequestParam("id") String id);

    /**
    * 删除决定类型
    */
    @PostMapping("/apl_decistiontype/delete")
    ResponseDTO delete(@RequestParam("id") String id);

    ///**
    // * 查看决定类型 复合主键使用
    // */
    //@PostMapping("/apl_decistiontype/viewByPK")
    //ResponseDTO viewByPK(@RequestBody Apl_decistiontype.Apl_decistiontypePK pk);

    /**
     * 修改或保存决定类型
     */
    @PostMapping("/apl_decistiontype/save")
    ResponseDTO save(@RequestBody Apl_decistiontype apl_decistiontype);

    ///**
    // * 删除决定类型 复合主键使用
    // */
    //@PostMapping("/apl_decistiontype/deleteByPK")
    //ResponseDTO deleteByPK(@RequestBody Apl_decistiontype.Apl_decistiontypePK pk);
    
    /**
     * 批量删除决定类型
     */
    @PostMapping("/apl_decistiontype/batchDel")
    ResponseDTO batchDel(@RequestParam("ids") String ids);
    
     /**
     * 导出excel
     */
    @PostMapping("/apl_decistiontype/output")
    void output(HttpServletResponse response, @RequestBody Apl_decistiontypePageInfo apl_decistiontypePageInfo);
        
     /**
     * 导出excel模板
     */
    @PostMapping("/apl_decistiontype/exportExcelTemplate")
    void exportExcelTemplate(HttpServletResponse response);
    
     /**
     *	导入excel
     */
    @PostMapping("/apl_decistiontype/importExcel")
    ResponseDTO importExcel(@RequestBody MultipartFile file) throws IOException ;


    /**
     * 获取决定类型树层级结构
     * @param
     * @return
     * @throws
     */
    @GetMapping("/apl_decistiontype/getDecisionTypeTree")
    ResponseDTO getDecisionTypeTree();

}
